''''
文件  python文件操作比java简单多了
f 就是文件句柄  mode="r"： 只读模式
绝对路径就不说了 相对路径是相对于当前文件夹
'''

f = open("11.txt", mode="r", encoding="utf-8")
print(f.read())  # read() 全部读出        readline() 读取一行

for line in f:
    print(line.strip())  # 去掉换行  也是读取一行
# f.close()


'''文件的内容读取到内存  解读为字符串  如果是数值要计算的话 int()  float()

# readline()  从文件中读取每一个字，并将其存储在一个列表中  然后存在lines
# readlines() 从文件中读取每一行，并将其存储在一个列表中  然后存在lines
'''
filename = "D:\demo.js"
with open(filename) as file_object:
    lines = file_object.readlines()

for line in lines:
    print(line.rstrip())

# utf-8格式打开文档
f = open(r're.txt','r',encoding='utf-8')
f.seek(0,0)                    # 重新设置文件读取指针到开头
for each_line in f:            # 逐行读取
    print(each_line.rstrip())  # rstrip  删除多余空白行
f.close()


# 以二进制打开文件，然后对读取的内容进行utf-8编码
f = open(r're.txt','rb')
f.seek(0,0)
for each_line in f:
    print(each_line.decode('utf-8'))
f.close()

'''
  W 只写模式  重新创建文件
会把文件的内容删掉
## 省略掉  f.close()方法   加一个with
'''
with open("11.txt", mode="w", encoding="utf-8") as f:
    f.write("第一行")
    f.write("\n")
    f.write("第二行")

'''
  a : append 追加写。不会创建新文件，若文件不存在，可以创建文件  写爬虫的时候经常用
'''
with open("33.txt", mode="a", encoding="utf-8") as f:
    f.write("继续")

'''
  b ： bytes  二进制   一般出路非文本文件，不能指定encoding
  rb 读取字节
  wb 写入字节
'''
f1 = open("img1/tu.jpg", mode="rb")
f2 = open("img2/tucopy.jpg", mode="wb")  # img2/tucopy.jpg 运行前不存在该图片，运行后打开img2文件夹看有无这个文件
for line in f1:
    f2.write(line)
f1.close()
f2.close()

